#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

typedef int PhDataType;
typedef struct PH
{
	PhDataType* a;
	int size;
	int capacity;
}PH;

void Inittree(PH* php);
void destroy(PH* php);
void push(PH* php, PhDataType x);
void pop(PH* php);
PhDataType Phtop(PH* php);
bool PhEmpty(PH* php);
void swap(PhDataType* parent, PhDataType* child);

void AdjustUp(PhDataType* a, int child);

void AdjustDown(PhDataType* s, int parent,int n);